home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HiJaak Graphics Suite 3.0
/
HiJaak Graphics Suite V3.iso
/
inset
/
fills.pdp
< prev
next >
Wrap
Text File
|
1992-11-14
|
41KB
|
1,720 lines
%Original: Mark Jaremko 1991 Jan
%Appended: Brent Williams 1992 June
%GSFill:Bubble,Bubbles 1
%@Param:Density,integer,50
%@Param:Max Radius,points,10
%@Param:Min Radius,points,1
%@Param:Max Line Width,points,1
%@Param:Min Line Width,points,.24
%@Param:Background Shade,percent,0,100,15
%@Param:Foregrnd Max Shade,percent,0,100,0
%@Param:Foregrnd Min Shade,percent,0,100,100
%@Param:Random Seed,real,0,1,0
%! Rev 2 - June 17, 1992 -changed by Arno Krautter to account for
%! printer resolution [resX, resY] because Windows outputs
%! resolution dependent coords
/Bubble
{
srand % RandomSeed
/FSMin exch def % ForeShadeMin
1.0 exch sub /FSMax exch def % ForeShadeMax
1.0 exch sub /BackS exch def % Backshade
/MinWid exch def % MinWidth
/MaxWid exch def % MaxWidth
/MinRad exch def % MinSpace
/MaxRad exch def % MaxSpace
/Den exch def % Frequency
/Ht exch def % y dimension
/Wid exch def % x dimension
/CenY exch def % CentY
/CenX exch def % CentX
eoclip
newpath
/RndMax 2147483647 def
/RadRange MaxRad MinRad sub def
/WidRange MaxWid MinWid sub def
/GrayRange FSMax FSMin sub def
/RD {
rand RndMax div 100 mul round 100 div
} bind def % Round to 2 places
CenX CenY translate % centre of bound
% Make Background box
Wid 2 div neg Ht 2 div neg moveto
0 Ht rlineto
Wid 0 rlineto
0 Ht neg rlineto
closepath
BackS setgray
fill
Ht Wid mul Den mul resX div resY div cvi
{ RD Wid mul Wid 2 div sub
RD Ht mul Ht 2 div sub
RD WidRange mul MinWid add setlinewidth
RD GrayRange mul FSMin add setgray
RD RadRange mul MinRad add
0 360 arc
gsave
fill
grestore
0 setgray
stroke
}
repeat
} bind def
%GSEndFill
%GSFill:Bubble2,Bubbles 2
%@Param:Density,integer,50
%@Param:Max Radius,points,40
%@Param:Min Radius,points,10
%@Param:Max Line Width,points,3
%@Param:Min Line Width,points,.24
%@Param:Background Shade,percent,0,100,50
%@Param:Foregrnd Max Shade,percent,0,100,0
%@Param:Foregrnd Min Shade,percent,0,100,100
%@Param:Random Seed,real,0,1,0
%! Rev 2 - June 17, 1992 -changed by Arno Krautter to account for
%! printer resolution [resX, resY] because Windows outputs
%! resolution dependent coords
/Bubble2
{
srand % RandomSeed
1.0 exch sub /FSMin exch def % ForeShadeMin
1.0 exch sub /FSMax exch def % ForeShadeMax
1.0 exch sub /BackS exch def % Backshade
/MinWid exch def % MinWidth
/MaxWid exch def % MaxWidth
/MinRad exch def % MinSpace
/MaxRad exch def % MaxSpace
/Den exch def % Frequency
/Ht exch def % y dimension
/Wid exch def % x dimension
/CenY exch def % CentY
/CenX exch def % CentX
eoclip
newpath
/RndMax 2147483647 def
/RadRange MaxRad MinRad sub def
/WidRange MaxWid MinWid sub def
/GrayRange FSMax FSMin sub def
/RD {
rand RndMax div 100 mul round 100 div
} bind def % Round to 2 places
CenX CenY translate % centre of bound
% Make Background box
Wid 2 div neg Ht 2 div neg moveto
0 Ht rlineto
Wid 0 rlineto
0 Ht neg rlineto
closepath
BackS setgray
fill
Ht Wid mul Den mul resX div resY div cvi
{ RD Wid mul Wid 2 div sub
RD Ht mul Ht 2 div sub
RD WidRange mul MinWid add setlinewidth
RD GrayRange mul FSMin add setgray
RD RadRange mul MinRad add
0 360 arc
gsave
fill
grestore
0 setgray
stroke
}
repeat
} bind def
%GSEndFill
%GSFill:Fibres,Fibres
%@Param:Max Space,points,15
%@Param:Min Space,points,5
%@Param:Max Line Width,points,4.24
%@Param:Min Line Width,points,.24
%@Param:Angle,angle,-360,360,90
%@Param:Background Shade,percent,0,100,0
%@Param:Foregrnd Shade Max,percent,0,100,100
%@Param:Foregrnd Shade Min,percent,0,100,100
%@Param:Amplitude,real,2
%@Param:Cycles,integer,55
%@Param:Random Seed,real,0,1,0
%! Fibers1
%! Fill Routine by Mark Jaremko TKK Enterprises, January 1991
%! Rev 2 - Jan. 17
%! This is a marginally slow routine.
%! Rev 3 - June 17, 1992 -changed by Arno Krautter to account for
%! printer resolution [resX, resY] because Windows outputs
%! resolution dependent coords
/Fibres
{
srand % RandomSeed
resX mul 300 div /Cyc exch def % Cycles
/Amp exch def % Amplitude
1.0 exch sub /FSMin exch def % ForeShadeMin
1.0 exch sub /FSMax exch def % ForeShadeMax
1.0 exch sub /BackS exch def % Backshade
/Rot exch def % Angle
/MinWid exch def % MinWidth
/MaxWid exch def % MaxWidth
/MinSpc exch def % MinSpace
/MaxSpc exch def % MaxSpace
/Ht exch def % y dimension
/Wid exch def % x dimension
/CenY exch def % CentY
/CenX exch def % CentX
eoclip
newpath
/RndMax 2147483647 def
/SpcRange MaxSpc MinSpc sub def
/WidRange MaxWid MinWid sub def
/GrayRange FSMax FSMin sub def
/RD {
rand RndMax div 100 mul round 100 div
} bind def % Round to 2 places
CenX CenY translate % centre of bound
Rot rotate % rotate system
% Make Background box
Wid 2 div neg Ht 2 div neg moveto
0 Ht rlineto
Wid 0 rlineto
0 Ht neg rlineto
closepath
BackS setgray
fill
/Dist Ht 2 div Amp MaxSpc add add neg def % absolute bottom of Bbox
% /Minimum Cyc 2 div def % Location of pt's 2 & 4
/Left Wid 2 div neg def % left side of Bbox
{ /Dist RD SpcRange mul MinSpc add Dist add def
Left Dist moveto
RD WidRange mul MinWid add setlinewidth % do random linewidth
RD GrayRange mul FSMin add setgray % do random Gray
/Minimum RD Cyc mul 2 div def
/Count 0 def % track current location of waves
{
Left Count add Minimum add
dup
MaxSpc RD Amp mul mul Dist add
exch
MaxSpc RD Amp mul mul neg Dist add
Left Count add Cyc add
Dist
curveto
/Count Count Cyc add def %add wavelength to counter
Wid Count resX div 300 mul lt %check if Bbox filled
{exit} if
} loop
stroke
Ht 2 div Amp resY div 300 mul MaxSpc add add Dist lt {exit} if
} loop
} bind def
%GSEndFill
%GSFill:Fount1,Fountain-A 1
%@Param:Density,integer,50
%@Param:Max Length,points,100
%@Param:Min Length,points,2
%@Param:Max Line Width,points,100
%@Param:Min Line Width,points,2
%@Param:Background Shade,percent,0,100,0
%@Param:Start Shade,percent,0,100,100
%@Param:End Shade,percent,0,100,10
%@Param:Angle,angle,-360,360,0
%@Param:Offset,angle,-180,180,90
%@Param:Random Seed,real,0,1,0
%! Fount1
%! Fill Routine by Mark Jaremko TKK Enterprises, January 1991
%! Rev 1 - Jan. 19
%! Rev 2 - June 17, 1992 -changed by Arno Krautter to account for
%! printer resolution [resX, resY] because Windows outputs
%! resolution dependent coords
/Fount1
{
srand % RandomSeed
/Off exch def % Rotate
/Rot exch def % Offset
1.0 exch sub /End exch def % ForeShadeMin
1.0 exch sub /Start exch def % ForeShadeMax
1.0 exch sub /BackS exch def % Backshade
/MinWid exch def % MinWidth
/MaxWid exch def % MaxWidth
/MinLen exch def % MinSpace
/MaxLen exch def % MaxSpace
/Den exch def % Frequency
/Ht exch def % y dimension
/Wid exch def % x dimension
/CenY exch def % CentY
/CenX exch def % CentX
eoclip
newpath
/RndMax 2147483647 def
/LenRange MaxLen MinLen sub abs def
/WidRange MaxWid MinWid sub abs def
/Max MaxLen MaxWid gt {MaxLen}{MaxWid} ifelse def
/NewWid Max Wid add def
/NewHt Max Ht add def
/RD {
rand RndMax div 100 mul round 100 div
} bind def % Round to 2 places
/string256 256 string def
/Ffill {
1 index sub
exch 255 mul
0 1 255 { string256 exch dup
4 index mul
3 index add cvi
put
} for
pop pop
1 256 8 [1 0 0 256 0 0] {string256} image
} bind def
CenX CenY translate % centre of bound
% Make Background box
Wid 2 div neg Ht 2 div neg moveto
0 Ht rlineto
Wid 0 rlineto
0 Ht neg rlineto
closepath
BackS setgray
fill
Ht Wid mul Den mul resX div resY div cvi
{
gsave
RD NewWid mul Wid 2 div sub
RD NewHt mul Ht 2 div sub
translate
RD Off 2 mul mul Off sub Rot add
rotate
RD LenRange mul MinLen add
RD WidRange mul MinWid add
scale
Start End Ffill
grestore
}
repeat
} bind def
%GSEndFill
%GSFill:Fount2,Fountain-A 2
%@Param:Density,integer,20
%@Param:Max Length,points,200
%@Param:Min Length,points,200
%@Param:Max Line Width,points,20
%@Param:Min Line Width,points,14
%@Param:Background Shade,percent,0,100,100
%@Param:Start Shade,percent,0,100,100
%@Param:End Shade,percent,0,100,0
%@Param:Angle,angle,-360,360,330
%@Param:Offset,angle,-180,180,0
%@Param:RandomSeed,real,0,1,0
%! Fount2
%! Fill Routine by Mark Jaremko TKK Enterprises, January 1991
%! Rev 1 - Jan. 19
%! Rev 2 - June 17, 1992 -changed by Arno Krautter to account for
%! printer resolution [resX, resY] because Windows outputs
%! resolution dependent coords
%!
/Fount2
{
srand % RandomSeed
/Off exch def % Rotate
/Rot exch def % Offset
1.0 exch sub /End exch def % ForeShadeMin
1.0 exch sub /Start exch def % ForeShadeMax
1.0 exch sub /BackS exch def % Backshade
/MinWid exch def % MinWidth
/MaxWid exch def % MaxWidth
/MinLen exch def % MinSpace
/MaxLen exch def % MaxSpace
/Den exch def % Frequency
/Ht exch def % y dimension
/Wid exch def % x dimension
/CenY exch def % CentY
/CenX exch def % CentX
eoclip
newpath
/RndMax 2147483647 def
/LenRange MaxLen MinLen sub abs def
/WidRange MaxWid MinWid sub abs def
/Max MaxLen MaxWid gt {MaxLen}{MaxWid} ifelse def
/NewWid Max Wid add def
/NewHt Max Ht add def
/RD {
rand RndMax div 100 mul round 100 div
} bind def % Round to 2 places
/string256 256 string def
/Ffill {
1 index sub
exch 255 mul
0 1 255 { string256 exch dup
4 index mul
3 index add cvi
put
} for
pop pop
1 256 8 [1 0 0 256 0 0] {string256} image
} bind def
CenX CenY translate % centre of bound
% Make Background box
Wid 2 div neg Ht 2 div neg moveto
0 Ht rlineto
Wid 0 rlineto
0 Ht neg rlineto
closepath
BackS setgray
fill
Ht Wid mul Den mul resX div resY div cvi
{
gsave
RD NewWid mul Wid 2 div sub
RD NewHt mul Ht 2 div sub
translate
RD Off 2 mul mul Off sub Rot add
rotate
RD LenRange mul MinLen add
RD WidRange mul MinWid add
scale
Start End Ffill
grestore
}
repeat
} bind def
%GSEndFill
%GSFill:Fountb1,Fountain-B 1
%@Param:Density,integer,50
%@Param:Max Length,points,36
%@Param:Min Length,points,36
%@Param:Max Line Width,points,36
%@Param:Min Line Width,points,36
%@Param:Background Shade,percent,100
%@Param:Start Shade,percent,100
%@Param:End Shade,percent,0
%@Param:Angle,angle,-360,360,0
%@Param:Offset,angle,-180,180,90
%@Param:RandomSeed,real,0,1,0
%! Fount2
%! Fill Routine by Mark Jaremko TKK Enterprises, January 1991
%! Rev 1 - Jan. 19
%! Rev 2 - June 17, 1992 -changed by Arno Krautter to account for
%! printer resolution [resX, resY] because Windows outputs
%! resolution dependent coords
%!
%% Fountb1 Proc.
/Fountb1
{
srand % RandomSeed
/Off exch def % Rotate
/Rot exch def % Offset
1.0 exch sub /End exch def % ForeShadeMin
1.0 exch sub /Start exch def % ForeShadeMax
1.0 exch sub /BackS exch def % Backshade
/MinWid exch def % MinWidth
/MaxWid exch def % MaxWidth
/MinLen exch def % MinSpace
/MaxLen exch def % MaxSpace
/Den exch def % Frequency
/Ht exch def % y dimension
/Wid exch def % x dimension
/CenY exch def % CentY
/CenX exch def % CentX
eoclip
newpath
/RndMax 2147483647 def
/LenRange MaxLen MinLen sub abs def
/WidRange MaxWid MinWid sub abs def
/Max MaxLen MaxWid gt {MaxLen}{MaxWid} ifelse def
/NewWid Max Wid add def
/NewHt Max Ht add def
/RD {
rand RndMax div 100 mul round 100 div
} bind def % Round to 2 places
/string256 256 string def
/Ffill {
1 index sub
exch 255 mul
0 1 255 { string256 exch dup
4 index mul
3 index add cvi
put
} for
pop pop
1 256 8 [1 0 0 256 0 0] {string256} image
} bind def
/Tri {
/HtTri exch def
/WidTri exch def
newpath
0 0 moveto
WidTri 2 div HtTri rlineto
WidTri 2 div HtTri neg rlineto
closepath
clip
} bind def
CenX CenY translate % centre of bound
% Make Background box
Wid 2 div neg Ht 2 div neg moveto
0 Ht rlineto
Wid 0 rlineto
0 Ht neg rlineto
closepath
BackS setgray
fill
Ht Wid mul Den mul resX div resY div cvi
{
gsave
RD NewWid mul NewWid 2 div sub
RD NewHt mul NewHt 2 div sub
translate
RD Off 2 mul mul Off sub Rot add
rotate
RD LenRange mul MinLen add
RD WidRange mul MinWid add
2 copy
Tri
scale
Start End Ffill
grestore
} repeat
} bind def
%GSEndFill
%GSFill:Fountb2,Fountain-B 2
%@Param:Density,integer,50
%@Param:Max Length,points,10
%@Param:Min Length,points,2
%@Param:Max Line Width,points,350
%@Param:Min Line Width,points,50
%@Param:Background Shade,percent,100
%@Param:Start Shade,percent,0
%@Param:End Shade,percent,100
%@Param:Angle,angle,-360,360,180
%@Param:Offset,angle,-180,180,0
%@Param:RandomSeed,real,0,1,0
%! Fountb2
%! Fill Routine by Mark Jaremko TKK Enterprises, January 1991
%! Rev 1 - Jan. 19
%! Rev 2 - June 17, 1992 -changed by Arno Krautter to account for
%! printer resolution [resX, resY] because Windows outputs
%! resolution dependent coords
%% Fountb2 Proc.
/Fountb2
{
srand % RandomSeed
/Off exch def % Rotate
/Rot exch def % Offset
1.0 exch sub /End exch def % ForeShadeMin
1.0 exch sub /Start exch def % ForeShadeMax
1.0 exch sub /BackS exch def % Backshade
/MinWid exch def % MinWidth
/MaxWid exch def % MaxWidth
/MinLen exch def % MinSpace
/MaxLen exch def % MaxSpace
/Den exch def % Frequency
/Ht exch def % y dimension
/Wid exch def % x dimension
/CenY exch def % CentY
/CenX exch def % CentX
eoclip
newpath
/RndMax 2147483647 def
/LenRange MaxLen MinLen sub abs def
/WidRange MaxWid MinWid sub abs def
/Max MaxLen MaxWid gt {MaxLen}{MaxWid} ifelse def
/NewWid Max Wid add def
/NewHt Max Ht add def
/RD {
rand RndMax div 100 mul round 100 div
} bind def % Round to 2 places
/string256 256 string def
/Ffill {
1 index sub
exch 255 mul
0 1 255 { string256 exch dup
4 index mul
3 index add cvi
put
} for
pop pop
1 256 8 [1 0 0 256 0 0] {string256} image
} bind def
/Tri {
/HtTri exch def
/WidTri exch def
newpath
0 0 moveto
WidTri 2 div HtTri rlineto
WidTri 2 div HtTri neg rlineto
closepath
clip
} bind def
CenX CenY translate % centre of bound
% Make Background box
Wid 2 div neg Ht 2 div neg moveto
0 Ht rlineto
Wid 0 rlineto
0 Ht neg rlineto
closepath
BackS setgray
fill
Ht Wid mul Den mul resX div resY div cvi
{
gsave
RD NewWid mul NewWid 2 div sub
RD NewHt mul NewHt 2 div sub
translate
RD Off 2 mul mul Off sub Rot add
rotate
RD LenRange mul MinLen add
RD WidRange mul MinWid add
2 copy
Tri
scale
Start End Ffill
grestore
} repeat
} bind def
%GSEndFill
%GSFill:Hatch,Hatch 1
%@Param:Max Space,points,10
%@Param:Min Space,points,1
%@Param:Max Line Width,points,.6
%@Param:Min Line Width,points,.24
%@Param:Angle,angle,-360,360,0
%@Param:Background Shade,percent,0,100,0
%@Param:Foregrnd Shade Max,percent,0,100,100
%@Param:Foregrnd Shade Min,percent,0,100,0
%@Param:Offset,angle,-180,180,2
%@Param:RandomSeed,real,0,1,0
%! Hatch1
%! Fill Routine by Mark Jaremko TKK Enterprises, January 1991
%! Rev 1 - Jan. 13
/Hatch
{
srand % RandomSeed
/Off exch def % Offset
1.0 exch sub /FSMin exch def % ForeShadeMin
1.0 exch sub /FSMax exch def % ForeShadeMax
1.0 exch sub /BackS exch def % Backshade
/Rot exch def % Angle
/MinWid exch def % MinWidth
/MaxWid exch def % MaxWidth
/MinSpc exch def % MinSpace
/MaxSpc exch def % MaxSpace
/Ht exch def % y dimension
/Wid exch def % x dimension
/CenY exch def % CentY
/CenX exch def % CentX
eoclip
newpath
/RndMax 2147483647 def
/SpcRange MaxSpc MinSpc sub def
/WidRange MaxWid MinWid sub def
/GrayRange FSMax FSMin sub def
/RD {
rand RndMax div 100 mul round 100 div
} bind def % Round to 2 places
CenX CenY translate % centre of bound
Rot rotate % rotate system
% Make Background box
Wid 2 div neg Ht 2 div neg moveto
0 Ht rlineto
Wid 0 rlineto
0 Ht neg rlineto
closepath
BackS setgray
fill
/Dist Ht 2 div neg def
{ /Dist RD SpcRange mul MinSpc add Dist add def
RD WidRange mul MinWid add setlinewidth
RD GrayRange mul FSMin add setgray
gsave
RD Off 2 mul mul Off sub
rotate
Wid 2 div neg Dist moveto
Wid 2 div Dist lineto
stroke
grestore
Ht 2 div Dist lt {exit} if
} loop
} bind def
%GSEndFill
%GSFill:Hatch2,Hatch 2
%@Param:Max Space,points,6
%@Param:Min Space,points,1
%@Param:Max Line Width,points,.6
%@Param:Min Line Width,points,.24
%@Param:Angle,angle,-360,360,0
%@Param:Background Shade,percent,0,100,10
%@Param:Foregrnd Shade Max,percent,0,100,100
%@Param:Foregrnd Shade Min,percent,0,100,0
%@Param:Offset,angle,-180,180,90
%@Param:RandomSeed,real,0,1,0
%! Hatch2
%! Fill Routine by Mark Jaremko TKK Enterprises, January 1991
%! Rev 1 - Jan. 13
/Hatch2
{
srand % RandomSeed
/Off exch def % Offset
1.0 exch sub /FSMin exch def % ForeShadeMin
1.0 exch sub /FSMax exch def % ForeShadeMax
1.0 exch sub /BackS exch def % Backshade
/Rot exch def % Angle
/MinWid exch def % MinWidth
/MaxWid exch def % MaxWidth
/MinSpc exch def % MinSpace
/MaxSpc exch def % MaxSpace
/Ht exch def % y dimension
/Wid exch def % x dimension
/CenY exch def % CentY
/CenX exch def % CentX
eoclip
newpath
/RndMax 2147483647 def
/SpcRange MaxSpc MinSpc sub def
/WidRange MaxWid MinWid sub def
/GrayRange FSMax FSMin sub def
/RD {
rand RndMax div 100 mul round 100 div
} bind def % Round to 2 places
CenX CenY translate % centre of bound
Rot rotate % rotate system
% Make Background box
Wid 2 div neg Ht 2 div neg moveto
0 Ht rlineto
Wid 0 rlineto
0 Ht neg rlineto
closepath
BackS setgray
fill
/Dist Ht 2 div neg def
{ /Dist RD SpcRange mul MinSpc add Dist add def
RD WidRange mul MinWid add setlinewidth
RD GrayRange mul FSMin add setgray
gsave
RD Off 2 mul mul Off sub
rotate
Wid 2 div neg Dist moveto
Wid 2 div Dist lineto
stroke
grestore
Ht 2 div Dist lt {exit} if
} loop
} bind def
%GSEndFill
%GSFill:Horizon,Horizon 1
%@Param:Number of Lines,integer,60
%@Param:Line Width,points,3
%@Param:Background Shade,percent,0,100,15
%@Param:Line Shade,percent,0,100,100
%@Param:Angle,angle,-360,360,180
%! Horizon1.ps
%! Modified by Mark Jaremko TKK Enterprised, January 1991
%! Rev 2 - Jan. 13
/Horizon
{
/Rot exch def % degree of rotation
1.0 exch sub /LS exch def % shade of line
1.0 exch sub /GS exch def % shade of gray
/FL exch def % linewidth in foreground
/Num exch def % number of lines in plain
/Ht exch def % y dimension
/Wid exch def % x dimension
/CenY exch def % Y location of bounding box
/CenX exch def % Y location of bounding box
eoclip
newpath
CenX CenY translate % calc centre of bound
Rot rotate % rotate system
Wid 2 div neg Ht 2 div neg translate
0 0 moveto
0 Ht rlineto
Wid 0 rlineto
0 Ht neg rlineto
closepath
GS setgray
fill
LS setgray % shade of lines lines
1 10 Num div 10 % for loop (1 to 10)
{dup % save a copy of loopcounter
FL exch div % make line thinner as it recedes
setlinewidth
log Ht mul % log(loopcounter) times y dimension
0 exch moveto
Wid 0 rlineto
stroke % draw the line
} for
} def % end horizon
%GSEndFill
%GSFill:Horizon,Horizon 2
%@Param:Number of Lines,integer,30
%@Param:Line Width,points,15
%@Param:Background Shade,percent,0,100,50
%@Param:Line Shade,percent,0,100,100
%@Param:Angle,angle,-360,0,-180
%! Horizon1.ps
%! Modified by Mark Jaremko TKK Enterprised, January 1991
%! Rev 2 - Jan. 13
/Horizon
{
/Rot exch def % degree of rotation
1.0 exch sub /LS exch def % shade of line
1.0 exch sub /GS exch def % shade of gray
/FL exch def % linewidth in foreground
/Num exch def % number of lines in plain
/Ht exch def % y dimension
/Wid exch def % x dimension
/CenY exch def % Y location of bounding box
/CenX exch def % Y location of bounding box
eoclip
newpath
CenX CenY translate % calc centre of bound
Rot rotate % rotate system
Wid 2 div neg Ht 2 div neg translate
0 0 moveto
0 Ht rlineto
Wid 0 rlineto
0 Ht neg rlineto
closepath
GS setgray
fill
LS setgray % shade of lines lines
1 10 Num div 10 % for loop (1 to 10)
{dup % save a copy of loopcounter
FL exch div % make line thinner as it recedes
setlinewidth
log Ht mul % log(loopcounter) times y dimension
0 exch moveto
Wid 0 rlineto
stroke % draw the line
} for
} def % end horizon
%GSEndFill
%GSFill:Lines,Lines 1
%@Param:Density,integer,45
%@Param:Max Length,points,75
%@Param:Min Length,points,1
%@Param:Max Line Width,points,4.24
%@Param:Min Line Width,points,.24
%@Param:Background Shade,percent,0,100,10
%@Param:Foregrnd Shade Max,percent,0,100,0
%@Param:Foregrnd Shade Min,percent,0,100,100
%@Param:Angle,angle,-360,360,0
%@Param:Offset,angle,-180,180,90
%@Param:RandomSeed,real,0,0
%! Lines
%! Fill Routine by Mark Jaremko TKK Enterprises, January 1991
%! Rev 1 - Jan. 17
%! Rev 2 - June 17, 1992 -changed by Arno Krautter to account for
%! printer resolution [resX, resY] because Windows outputs
%! resolution dependent coords
%!
%% Lines Proc.
/Lines
{
srand % RandomSeed
/Off exch def % Rotate
/Rot exch def % Offset
1.0 exch sub /FSMin exch def % ForeShadeMin
1.0 exch sub /FSMax exch def % ForeShadeMax
1.0 exch sub /BackS exch def % Backshade
/MinWid exch def % MinWidth
/MaxWid exch def % MaxWidth
/MinLen exch def % MinSpace
/MaxLen exch def % MaxSpace
/Den exch def % Frequency
/Ht exch def % y dimension
/Wid exch def % x dimension
/CenY exch def % CentY
/CenX exch def % CentX
eoclip
newpath
/RndMax 2147483647 def
/LenRange MaxLen MinLen sub abs def
/WidRange MaxWid MinWid sub abs def
/GrayRange FSMax FSMin sub abs def
/RD {
rand RndMax div 100 mul round 100 div
} bind def % Round to 2 places
CenX CenY translate % centre of bound
Rot rotate
% Make Background box
Wid 2 div neg Ht 2 div neg moveto
0 Ht rlineto
Wid 0 rlineto
0 Ht neg rlineto
closepath
BackS setgray
fill
Ht Wid mul Den mul resX div resY div cvi
{ RD Wid mul Wid 2 div sub
RD Ht mul Ht 2 div sub
moveto
gsave
RD Off 2 mul mul Off sub
rotate
RD LenRange mul MinLen add
0
rlineto
RD WidRange mul MinWid add setlinewidth
RD GrayRange mul FSMin add setgray
stroke
grestore
}
repeat
} bind def
%GSEndFill
%GSFill:Lines2,Lines 2
%@Param:Density,integer,50
%@Param:Max Length,points,75
%@Param:Min Length,points,50
%@Param:Max Line Width,points,1.24
%@Param:Min Line Width,points,.24
%@Param:Background Shade,percent,0,100,100
%@Param:Foregrnd Shade Max,percent,0,100,0
%@Param:Foregrnd Shade Min,percent,0,100,100
%@Param:Angle,angle,-360,360,90
%@Param:Offset,angle,-180,180,0
%@Param:RandomSeed,real,0,0
%! Lines
%! Fill Routine by Mark Jaremko TKK Enterprises, January 1991
%! Rev 1 - Jan. 17
%! Rev 2 - June 17, 1992 -changed by Arno Krautter to account for
%! printer resolution [resX, resY] because Windows outputs
%! resolution dependent coords
%!
%% Lines Proc.
/Lines2
{
srand % RandomSeed
/Off exch def % Rotate
/Rot exch def % Offset
1.0 exch sub /FSMin exch def % ForeShadeMin
1.0 exch sub /FSMax exch def % ForeShadeMax
1.0 exch sub /BackS exch def % Backshade
/MinWid exch def % MinWidth
/MaxWid exch def % MaxWidth
/MinLen exch def % MinSpace
/MaxLen exch def % MaxSpace
/Den exch def % Frequency
/Ht exch def % y dimension
/Wid exch def % x dimension
/CenY exch def % CentY
/CenX exch def % CentX
eoclip
newpath
/RndMax 2147483647 def
/LenRange MaxLen MinLen sub abs def
/WidRange MaxWid MinWid sub abs def
/GrayRange FSMax FSMin sub abs def
/RD {
rand RndMax div 100 mul round 100 div
} bind def % Round to 2 places
CenX CenY translate % centre of bound
Rot rotate
% Make Background box
Wid 2 div neg Ht 2 div neg moveto
0 Ht rlineto
Wid 0 rlineto
0 Ht neg rlineto
closepath
BackS setgray
fill
Ht Wid mul Den mul resX div resY div cvi
{ RD Wid mul Wid 2 div sub
RD Ht mul Ht 2 div sub
moveto
gsave
RD Off 2 mul mul Off sub
rotate
RD LenRange mul MinLen add
0
rlineto
RD WidRange mul MinWid add setlinewidth
RD GrayRange mul FSMin add setgray
stroke
grestore
}
repeat
} bind def
%GSEndFill
%GSFill:Sun,Sun-A 1
%@Param:X Distance,points,0
%@Param:Y Distance,points,0
%@Param:Degrees,angle,-360,360,4
%@Param:Sun Radius,points,20
%@Param:Sun Fill Shade,percent,0,100,50
%@Param:Ray Width,points,.25
%@Param:Background Shade,percent,0,100,0
%@Param:Foreground Shade,percent,0,100,100
%@Param:Cycles,integer,100
%@Param:Amplitude,integer,10
%! Sun1-2
%! Fill Routine by Mark Jaremko TKK Enterprises, January 1991
%! Rev 2 - Jan. 14
%! Same as original but adds wavey lines to rays
%! Rev 3 - June 17, 1992 -changed by Arno Krautter to account for
%! printer resolution [resX, resY] because Windows outputs
%! resolution dependent coords
/Sun
{
resX mul 300 div /Amp exch def % Amplitude
resX mul 300 div /Cyc exch def % Cycles
1.0 exch sub /FS exch def % ForeShade
1.0 exch sub /BackS exch def % Backshade
/RayWid exch def % RayWidth
1.0 exch sub /SunShad exch def % SunFillShade
/SunRad exch def % SunRadius
/Degrees exch def % Degrees
/dy exch def % YDist
/dx exch def % XDist
/Ht exch def % Height
/Wid exch def % Width
/CenY exch def % CentY
/CenX exch def % CentX
eoclip
newpath
CenX CenY translate % centre of bound
% Make Background box
Wid 2 div neg Ht 2 div neg moveto
0 Ht rlineto
Wid 0 rlineto
0 Ht neg rlineto
closepath
BackS setgray
fill
/Dist Wid Ht ge {Wid}{Ht} ifelse def
/Ofset dx abs dy abs ge {dx}{dy} ifelse abs def
dx dy translate
RayWid setlinewidth
FS setgray
0 Degrees 360
{ gsave
rotate
0 0 moveto
Cyc 0 ne
{
/Minimum Cyc 2 div def
/Count 0 def
{
Count Minimum add
dup
Amp
exch
Amp neg
Count Cyc add
0
curveto
/Count Count Cyc add def
% This is the big bottle neck
Dist Ofset add Count lt
{exit} if
} loop
}
{
Wid Ht add 0 rlineto
}
ifelse
stroke
grestore
}
for
SunRad 0 ne {
0 0 SunRad 0 360 arc
gsave
SunShad setgray
fill
grestore
stroke
} if
} bind def
%GSEndFill
%GSFill:Sun2,Sun-A 2
%@Param:X Distance,points,0
%@Param:Y Distance,points,0
%@Param:Degrees,angle,-360,360,3
%@Param:Sun Radius,points,0
%@Param:Sun Fill Shade,percent,0,100,25
%@Param:Ray Width,points,.24
%@Param:Background Shade,percent,0,100,10
%@Param:Foreground Shade,percent,0,100,100
%@Param:Cycles,integer,60
%@Param:Amplitude,integer,60
%! Sun2-2
%! Fill Routine by Mark Jaremko TKK Enterprises, January 1991
%! Rev 2 - Jan. 14
%! Same as original but adds wavey lines to rays
%! Rev 3 - June 17, 1992 -changed by Arno Krautter to account for
%! printer resolution [resX, resY] because Windows outputs
%! resolution dependent coords
/Sun2
{
resX mul 300 div /Amp exch def % Amplitude
resX mul 300 div /Cyc exch def % Cycles
1.0 exch sub /FS exch def % ForeShade
1.0 exch sub /BackS exch def % Backshade
/RayWid exch def % RayWidth
1.0 exch sub /SunShad exch def % SunFillShade
/SunRad exch def % SunRadius
/Degrees exch def % Degrees
/dy exch def % YDist
/dx exch def % XDist
/Ht exch def % Height
/Wid exch def % Width
/CenY exch def % CentY
/CenX exch def % CentX
eoclip
newpath
CenX CenY translate % centre of bound
% Make Background box
Wid 2 div neg Ht 2 div neg moveto
0 Ht rlineto
Wid 0 rlineto
0 Ht neg rlineto
closepath
BackS setgray
fill
/Dist Wid Ht ge {Wid}{Ht} ifelse def
/Ofset dx abs dy abs ge {dx}{dy} ifelse abs def
dx dy translate
RayWid setlinewidth
FS setgray
0 Degrees 360
{ gsave
rotate
0 0 moveto
Cyc 0 ne
{
/Minimum Cyc 2 div def
/Count 0 def
{
Count Minimum add
dup
Amp
exch
Amp neg
Count Cyc add
0
curveto
/Count Count Cyc add def
% This is the big bottle neck
Dist Ofset add Count lt
{exit} if
} loop
}
{
Wid Ht add 0 rlineto
}
ifelse
stroke
grestore
}
for
SunRad 0 ne {
0 0 SunRad 0 360 arc
gsave
SunShad setgray
fill
grestore
stroke
} if
} bind def
%GSEndFill
%GSFill:Sunb2,Sun-B 1
%@Param:X Distance,points,0
%@Param:Y Distance,points,0
%@Param:Num Groups,integer,20
%@Param:Degrees,angle,.3
%@Param:Number of Rays,integer,9
%@Param:Sun Radius,points,40
%@Param:Sun Fill Shade,percent,30
%@Param:Ray Width,points,1
%@Param:Background Shade,percent,0
%@Param:Foreground Shade,percent,100
%! Sunb2
%! Fill Routine by Mark Jaremko TKK Enterprises, January 1991
%! Rev 1 - Jan. 14
%!
/Sunb2
{
1.0 exch sub /FS exch def % ForeShade
1.0 exch sub /BackS exch def % Backshade
/RayWid exch def % RayWidth
1.0 exch sub /SunShad exch def % SunFillShade
/SunRad exch def % SunRadius
/Num exch def % Number
/Deg2 exch def % Degrees2
/NGrp exch def % Degrees1
/dy exch def % YDist
/dx exch def % XDist
/Ht exch def % Height
/Wid exch def % Width
/CenY exch def % CentY
/CenX exch def % CentX
eoclip
newpath
CenX CenY translate % centre of bound
% Make Background box
Wid 2 div neg Ht 2 div neg moveto
0 Ht rlineto
Wid 0 rlineto
0 Ht neg rlineto
closepath
BackS setgray
fill
dx dy translate
RayWid setlinewidth
FS setgray
0 360 NGrp div 360
{ gsave
rotate
0 0 moveto
0 Deg2 Deg2 Num mul
{
gsave
rotate
0 0 moveto
Wid Ht add 0 rlineto
stroke
grestore
} for
grestore
}
for
SunRad 0 ne {
0 0 SunRad 0 360 arc
gsave
SunShad setgray
fill
grestore
stroke
} if
} bind def
%GSEndFill
%GSFill:Sunb3,Sun-B 2
%@Param:XDist,points,100
%@Param:YDist,points,-100
%@Param:Num Groups,integer,25
%@Param:Degrees,angle,1
%@Param:Number of Rays,integer,11
%@Param:Sun Radius,points,0
%@Param:Sun Fill Shade,percent,15
%@Param:Ray Width,points,1
%@Param:Background Shade,percent,0
%@Param:Foreground Shade,percent,100
%! Sunb2
%! Fill Routine by Mark Jaremko TKK Enterprises, January 1991
%! Rev 1 - Jan. 14
%!
/Sunb3
{
1.0 exch sub /FS exch def % ForeShade
1.0 exch sub /BackS exch def % Backshade
/RayWid exch def % RayWidth
1.0 exch sub /SunShad exch def % SunFillShade
/SunRad exch def % SunRadius
/Num exch def % Number
/Deg2 exch def % Degrees2
/NGrp exch def % Degrees1
/dy exch def % YDist
/dx exch def % XDist
/Ht exch def % Height
/Wid exch def % Width
/CenY exch def % CentY
/CenX exch def % CentX
eoclip
newpath
CenX CenY translate % centre of bound
% Make Background box
Wid 2 div neg Ht 2 div neg moveto
0 Ht rlineto
Wid 0 rlineto
0 Ht neg rlineto
closepath
BackS setgray
fill
dx dy translate
RayWid setlinewidth
FS setgray
0 360 NGrp div 360
{ gsave
rotate
0 0 moveto
0 Deg2 Deg2 Num mul
{
gsave
rotate
0 0 moveto
Wid Ht add 0 rlineto
stroke
grestore
} for
grestore
}
for
SunRad 0 ne {
0 0 SunRad 0 360 arc
gsave
SunShad setgray
fill
grestore
stroke
} if
} bind def
%GSEndFill
%GSFill:Sine,Waves 1
%@Param:Max Space,points,15
%@Param:Min Space,points,5
%@Param:Max Line Width,points,4.24
%@Param:Min Line Width,points,.24
%@Param:Angle,angle,-360,360,0
%@Param:Background Shade,percent,0,100,0
%@Param:Foregrnd Shade Max,percent,0,100,100
%@Param:Foregrnd Shade Min,percent,0,100,0
%@Param:Amplitude,integer,5
%@Param:Cycles,integer,1
%@Param:Random Seed,real,0,1,0
%! Sine1
%! Fill Routine by Mark Jaremko TKK Enterprises, January 1991
%! Rev 1 - Jan. 13
/Sine
{
srand % RandomSeed
/Cyc exch def % Cycles
/Amp exch def % Amplitude
1.0 exch sub /FSMin exch def % ForeShadeMin
1.0 exch sub /FSMax exch def % ForeShadeMax
1.0 exch sub /BackS exch def % Backshade
/Rot exch def % Angle
/MinWid exch def % MinWidth
/MaxWid exch def % MaxWidth
/MinSpc exch def % MinSpace
/MaxSpc exch def % MaxSpace
/Ht exch def % y dimension
/Wid exch def % x dimension
/CenY exch def % CentY
/CenX exch def % CentX
eoclip
newpath
/RndMax 2147483647 def
/SpcRange MaxSpc MinSpc sub def
/WidRange MaxWid MinWid sub def
/GrayRange FSMax FSMin sub def
/RD {
rand RndMax div 100 mul round 100 div
} bind def % Round to 2 places
CenX CenY translate % centre of bound
Rot rotate % rotate system
% Make Background box
Wid 2 div neg Ht 2 div neg moveto
0 Ht rlineto
Wid 0 rlineto
0 Ht neg rlineto
closepath
BackS setgray
fill
/Dist Ht 2 div neg def
{ /Dist RD SpcRange mul MinSpc add Dist add def
Wid 2 div neg Dist moveto
RD WidRange mul MinWid add setlinewidth
RD GrayRange mul FSMin add setgray
/Minimum Wid 4 div Cyc div def
/Counter 0 def
/FirstHalfWave
{ Counter 4 mul Minimum mul Minimum } def
/SecondHalfWave
{ mul add Wid 2 div neg add } def
Cyc cvi % loop must be an integer
{
FirstHalfWave 2 SecondHalfWave
dup
MaxSpc Amp mul Dist add
exch
MaxSpc Amp mul neg Dist add
FirstHalfWave 4 SecondHalfWave
Dist
curveto
/Counter Counter 1 add def
} repeat
stroke
Ht 2 div Dist lt {exit} if
} loop
} bind def
%GSEndFill
%GSFill:Sine2,Waves 2
%@Param:Max Space,points,10
%@Param:Min Space,points,1
%@Param:Max Line Width,points,5
%@Param:Min Line Width,points,.24
%@Param:Angle,angle,-360,360,0
%@Param:Background Shade,percent,0,100,0
%@Param:Foregrnd Shade Max,percent,0,100,75
%@Param:Foregrnd Shade Min,percent,0,100,0
%@Param:Amplitude,integer,3
%@Param:Cycles,integer,5
%@Param:Random Seed,real,0,1,0
%! Sine2
%! Fill Routine by Mark Jaremko TKK Enterprises, January 1991
%! Rev 1 - Jan. 13
/Sine2
{
srand % RandomSeed
/Cyc exch def % Cycles
/Amp exch def % Amplitude
1.0 exch sub /FSMin exch def % ForeShadeMin
1.0 exch sub /FSMax exch def % ForeShadeMax
1.0 exch sub /BackS exch def % Backshade
/Rot exch def % Angle
/MinWid exch def % MinWidth
/MaxWid exch def % MaxWidth
/MinSpc exch def % MinSpace
/MaxSpc exch def % MaxSpace
/Ht exch def % y dimension
/Wid exch def % x dimension
/CenY exch def % CentY
/CenX exch def % CentX
eoclip
newpath
/RndMax 2147483647 def
/SpcRange MaxSpc MinSpc sub def
/WidRange MaxWid MinWid sub def
/GrayRange FSMax FSMin sub def
/RD {
rand RndMax div 100 mul round 100 div
} bind def % Round to 2 places
CenX CenY translate % centre of bound
Rot rotate % rotate system
% Make Background box
Wid 2 div neg Ht 2 div neg moveto
0 Ht rlineto
Wid 0 rlineto
0 Ht neg rlineto
closepath
BackS setgray
fill
/Dist Ht 2 div neg def
{ /Dist RD SpcRange mul MinSpc add Dist add def
Wid 2 div neg Dist moveto
RD WidRange mul MinWid add setlinewidth
RD GrayRange mul FSMin add setgray
/Minimum Wid 4 div Cyc div def
/Counter 0 def
/FirstHalfWave
{ Counter 4 mul Minimum mul Minimum } def
/SecondHalfWave
{ mul add Wid 2 div neg add } def
Cyc cvi % loop must be an integer
{
FirstHalfWave 2 SecondHalfWave
dup
MaxSpc Amp mul Dist add
exch
MaxSpc Amp mul neg Dist add
FirstHalfWave 4 SecondHalfWave
Dist
curveto
/Counter Counter 1 add def
} repeat
stroke
Ht 2 div Dist lt {exit} if
} loop
} bind def
%GSEndFill